Typically, the information available via web sites and servers is accessed via a web browser executing on a web client (e.g., a computer). For example, a web user can deploy a web browser and access a web site by entering the web site Uniform Resource Locator (URL) into an address bar of a web browser and pressing the enter key on a keyboard or clicking a “go” button with a mouse. The URL typically includes three pieces of information that facilitate access: a protocol (set of rules and standards for the exchange of information in computer communication) string, a domain name (often based on the name of an organization that maintains the web site), and a path to the desired document on that site.
In some instances, the user knows, a priori, the name of the site or server, and/or the URL to the site or server that the user desires to access. In such situations, the user can access the site, as described above, via entering the URL in the address bar and connecting to the site. However, in most instances, the user does not know the URL or the site name. Instead, the user employs a search function to facilitate locating a particular site based on keywords provided by the user.
The user can enter keywords into a general search engine, which will search the entirety of the World Wide Web and return sites that it determines to be related to the keywords. Often, however, the general search engine will return a substantial number of sites that are wholly unrelated to the particular interests of the user. For example, if the user searched using the keyword “virus,” rather than obtaining information related only to computer viruses the user would receive information relating to biological viruses as well as computer viruses. The user can thereafter scroll through a plurality of returned sites and attempt to determine if they are related to user interests. Scrolling through returned results can be extremely time-consuming and frustrating to the user, as general search engines can return a substantial number of sites when performing a search. The user can attempt to narrow the search via utilizing a combination of Boolean operators, but it can be difficult to construct an appropriate Boolean search that will result in a return of sites containing relevant information.
Furthermore, some conventional general search engines attempt to infer what a user is searching for based upon the keywords. For instance, if a user entered the term “virus” into the general search engine, the search engine can return a plurality of sites together with suggestions for narrowing the search. More particularly, the search engine could return a plurality of suggestions, such as “do you want to search for a computer virus?,” “do you want to search for a biological virus?,” etc. For many searches (especially for more detailed and specific searches), this conventional method requires selecting a continuing hierarchy of suggested searches, and the returned sites may still lack relevant information. Furthermore, the user may desire to locate a site that will not be encompassed by the returned search suggestions.
Users continue to desire the ability to search for information based on what they personally find relevant. Individual users are unique in their cares and concerns and, thus, they have different “relevancy” criteria. Some technologies permit users to input data to create a user profile that is employed to provide more relevant search results. However, users are often too busy to take the time to provide lengthy information criteria in order to facilitate the search process. They demand a quick and efficient means to return search results that best suits their own unique needs, thereby increasing their satisfaction with their searches.